package com.davidlife.javaee.jdbc.jdbcpool.druid;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

/*
Driud：数据库连接池实现技术，由阿里巴巴提供的（很高效）
    * 步骤：
        1. 导入jar包：druid-1.0.9.jar(当然还要导入mysql的驱动包mysql-connector-java-5.1.37-bin.jar)
        2. 定义配置文件：
            * 是properties形式的
            * 可以叫任意名称，可以放在任意目录下。（这也就意味着它不会自动加载了，需要你手动指定配置文件的名称和路径来加载进来）
            *
        3. 获取数据库连接池对象：通过工厂来获取，`DruidDataSourceFactory`
        4. 获取连接：`getConnection`

 */
public class DruidDemo {
    public static void main(String[] args) throws Exception {
        //1. 导入jar包
        //2. 定义配置文件
        //3. 加载配置文件
        Properties pro = new Properties();
        InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
        pro.load(is);
        //4. 获取连接池对象
        DataSource ds = DruidDataSourceFactory.createDataSource(pro);
        //5. 获取连接
        Connection conn = ds.getConnection();
        System.out.println(conn);

        //......

        conn.close();//这里是从连接池获取的connection，所以不会真的关闭connection，而是将他归还给连接池
    }
}
